home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 11 / Amiga Format AFCD11 (Feb 1997, Issue 95).iso / -readerstuff- / david_perks / dfx / dfx.e < prev    next >
Text File  |  1997-01-31  |  1KB  |  58 lines

  1. /* Dfx       front screen adjuster by D.Perks 1994*/
  2.  
  3. MODULE 'intuition/intuition','intuition/intuitionbase','intuition/screens'
  4.  
  5. CONST BUFSIZE=GADGETSIZE*10, IFLAGS=IDCMP_CLOSEWINDOW+IDCMP_GADGETUP
  6. DEF buf[BUFSIZE]:ARRAY,next,choice,
  7. w,gad:PTR TO gadget
  8.  
  9. PROC main()
  10.   next:=Gadget(buf,NIL,1,0,8,12,50,'Strip')
  11.   next:=Gadget(next,buf,2,0,151,12,40,'Neg')
  12.   next:=Gadget(next,buf,3,1,66,12,10,'|')
  13.   next:=Gadget(next,buf,4,1,76,12,10,'|')
  14.   next:=Gadget(next,buf,5,1,86,12,10,'|')
  15.   next:=Gadget(next,buf,6,3,96,12,10,'|')
  16.   next:=Gadget(next,buf,7,3,106,12,10,'|')
  17.   next:=Gadget(next,buf,8,3,116,12,10,'|')
  18.   next:=Gadget(next,buf,9,3,126,12,10,'|')
  19.   next:=Gadget(next,buf,10,3,136,12,10,'|')
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  IF w:=OpenW(60,0,200,27,IFLAGS,$e,'Dfx: screen blat.',NIL,1,buf)
  26.     WHILE WaitIMessage(w)<>IDCMP_CLOSEWINDOW
  27.       gad:=MsgIaddr()
  28.       choice:=gad.userdata
  29.    SELECT choice
  30.       CASE 1
  31.       fex($60)
  32.       CASE 2
  33.       fex($30)
  34. ENDSELECT
  35. ENDWHILE
  36.  
  37. CloseW(w)
  38. ENDIF
  39. ENDPROC
  40.  
  41. PROC fex(fx)
  42.    DEF gadon=NIL,bits=NIL,f,
  43.        fscr,int:PTR TO intuitionbase,scr:PTR TO screen,blt
  44.  
  45. FOR f:=1 TO 9
  46.    gad:=buf+(GADGETSIZE*f)
  47.    gadon:=And(gad.flags,$80)
  48.    bits:=Shl(bits,1)
  49.    IF gadon THEN bits:=Or(bits,1)
  50. ENDFOR
  51.   /* WriteF('Answer \d\n',bits) */
  52. int:=intuitionbase
  53. fscr:=int.firstscreen
  54. scr:=fscr
  55. blt:=BltBitMap(scr.bitmap,0,0,scr.bitmap,0,0,scr.width,scr.height,fx,bits,0)
  56. ENDPROC
  57.  
  58.